<?php
/**
 * vanephp web framework
 * 日期工具类
 *
 * @author aray <ofree@qq.com>
 * @link http://www.vanephp.com/
 * @copyright Copyright &copy; 2010 aray
 * @license http://www.vanephp.com/license
 * @package core
 */

if ( ! defined ( 'INVANE' ) )
	exit ( '!' );

/**
 * 日期工具类
 * @author aray
 * @abstract
 */
abstract class date {
	/**
	 * 时钟区域
	 * @var string
	 */
	private static $timeZone = null;
	/**
	 * 初始化时钟区域
	 */
	final public static function initTimeZone ( ) {
		if ( self::$timeZone == null ) {
			self::$timeZone = config::get ( 'timezone' );
			date_default_timezone_set ( self::$timeZone );
		}
	}
	/**
	 * 格式化UXIX时间戳
	 * @param int $time  	      时间
	 * @param string $format  日期格式（默认为 年-月-日 时:分:秒)
	 */
	final public static function format ( $time, $format = 'Y-m-d H:i:s' ) {
		return date ( $format, $time );
	}
	/**
	 * 获取格式化的当前时间
	 * @param string $format		日期格式
	 */
	final public static function now ( $format = 'Y-m-d H:i:s' ) {
		self::initTimeZone ( );
		return date ( $format );
	}
	/**
	 * 获取当前UNIX时间戳(单位:秒)
	 */
	final public static function unixStamp ( ) {
		self::initTimeZone ( );
		return time ( );
	}
	/**
	 * 获取当前UNIX时间戳(单位:毫秒)
	 */
	final public static function microtimenow ( ) {
		self::initTimezone ( );
		list ( $usec, $sec ) = explode ( " ", microtime ( ) );
		return $sec . substr ( $usec, 1 );
	
	}
}